/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Helpers;

import Hibernate.HibernateUtil;
import Entities.AntwoordToetsvragen;
import java.util.List;
import org.hibernate.*;

/**
 *
 * @author Erhan
 */
public class AntwoordToetsvragenHelper {

    Session session = null;

    /**
     *
     */
    public AntwoordToetsvragenHelper() {
        this.session = HibernateUtil.getSessionFactory().getCurrentSession();
    }

    //Ophalen alles
    /**
     *
     * @return
     */
    public List<AntwoordToetsvragen> getantwoordToetsvragen() {
        List<AntwoordToetsvragen> antwoordToetsvragenList = null;
        try {
            org.hibernate.Transaction tx = session.beginTransaction();
            Query q = session.createQuery("from AntwoordToetsvragen");
            antwoordToetsvragenList = (List<AntwoordToetsvragen>) q.list();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return antwoordToetsvragenList;
    }

    /**
     *
     * @param id
     * @return
     */
    public List<AntwoordToetsvragen> getntwoordToetsvragenPerToetsvraag(int id) {
        List<AntwoordToetsvragen> antwoordToetsvragenList = null;
        try {
            org.hibernate.Transaction tx = session.beginTransaction();
            Query q = session.createQuery("from AntwoordToetsvragen where toetsvraag_id = " + id);
            antwoordToetsvragenList = (List<AntwoordToetsvragen>) q.list();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return antwoordToetsvragenList;
    }

    //Ophalen van 1
    /**
     *
     * @param id
     * @return
     */
    public AntwoordToetsvragen getAntwoordToetsvraag(int id) {
        AntwoordToetsvragen result = null;
        try {
            org.hibernate.Transaction tx = session.beginTransaction();
            Query q = session.createQuery("from AntwoordToetsvragen where id=" + id);
            result = (AntwoordToetsvragen) q.list().get(0);
        } catch (Exception e) {
            e.printStackTrace();
        }

        return result;
    }


    // Wegschrijven
    /**
     *
     * @param antwoordToetsvraag
     */
    public void persistAntwoordToetsvraag(AntwoordToetsvragen antwoordToetsvraag) {
        org.hibernate.Transaction tx = session.beginTransaction();
        tx.begin();
        session.persist(antwoordToetsvraag);
        tx.commit();
    }

    // Verwijderen
    /**
     *
     * @param antwoordToetsvraag
     */
    public void deleteAntwoordToetsvraag(AntwoordToetsvragen antwoordToetsvraag) {
        org.hibernate.Transaction tx = session.beginTransaction();
        tx.begin();
        session.delete(antwoordToetsvraag);
        tx.commit();
    }

    // Updaten
    /**
     *
     * @param antwoordToetsvraag
     */
    public void updateAntwoordToetsvraag(AntwoordToetsvragen antwoordToetsvraag) {
        org.hibernate.Transaction tx = session.beginTransaction();
        tx.begin();
        session.update(antwoordToetsvraag);
        tx.commit();
    }

    // @param aid = antwoordid
    // hiervoor moet in check in de aanroep komen of deze variabelen leeg zijn of niet.
    /**
     *
     * @param aid
     * @return
     */
    public boolean checkVraag(int aid) {
        boolean correct = false;
        AntwoordToetsvragen atvragen = getAntwoordToetsvraag(aid);
        if (atvragen.getCorrecteAntwoord() == true) {
            correct = true;
        }
        return correct;
    }
}